3.6.10.1 dmwrite-倍精度行列レジスタ書き込み
倍精度データの行列レジスタへの書き込みを行う。
code:文法
dmwrite<src> $l(x|y)<addr>
<src>は読み出し元PEオペランドであり、アクセス語長は長語である。
行列ベクトル積和演算を目的として書き込む場合はブロックフロート倍精度の値であり、行列転置読み出しを目的として書き込む場合は通常の倍精度の値である。
$l(x|y)は書き込み先の行列レジスタオペランドである。
(x|y)はどちらの行列レジスタに書き込むかの指定であり、以下効果においてsideとして参照する。
<addr>は書き込みを開始する行番号である。
サイクルごとに連続する行を重複なくアクセスするようにインクリメントされる。
倍精度行列データは 4 行 4 列であるので、 1 命令で行列データ全体を行列レジスタに書き込むことができる。
code:効果
for cycle= 0:4
forall chip,l2b,l1b,mab
LongWord src_data4 =MEMchipl2bl1bmab0:4.refer_pemem(src, cycle)
for j= 0:4
MEMchipl2bl1bmab.refer_matreg(side, LongWord)(addr+cycle)%4j = src_dataj